<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>多态</title>
</head>
<body>
对象的多态性
<p>把不变的部分隔离出来 那就是所有动物都会发出叫声</p>
<script>
    var makeSound = function ( animal ) {
        animal.sound()
    }
    var Duck = function () {

    }
    var Chicken = function () {

    }
    Duck.prototype.sound = function () {
        console.log('嘎嘎嘎')
    }
    Chicken.prototype.sound = function () {
        console.log('gegege')
    }
    makeSound(new Duck())
    makeSound(new Chicken())


</script>
<p>需求: 比如我们目前使用的是谷歌地图 但是有一天我们需要更换成百度地图</p>
<p>    加入我们通过堆砌条件分钟 将变得十分庞大 我们可以这么做</p>
<script>
    var googleMap = {
        show: function () {
            console.log('开始渲染谷歌地图')
        }
    }
    var baiduMap = {
        show: function () {
            console.log('开始渲染百度地图')
        }
    };
    var renderMap = function (map) {
        if ( map.show instanceof Function) {
            map.show()
        }
    }
    renderMap(googleMap)

</script>
</body>
</html>